package com.eshop.tools.domain;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;

@TableName("qiniu_config")
public class QiniuConfig implements Serializable
{
    @TableId
    private Long id;
    private String accessKey;
    private String bucket;
    private String host;
    private String secretKey;
    private String type;
    private String zone;
    
    public void copy(final QiniuConfig source) {
        BeanUtil.copyProperties((Object)source, (Object)this, CopyOptions.create().setIgnoreNullValue(true));
    }
    
    public Long getId() {
        return this.id;
    }
    
    public String getAccessKey() {
        return this.accessKey;
    }
    
    public String getBucket() {
        return this.bucket;
    }
    
    public String getHost() {
        return this.host;
    }
    
    public String getSecretKey() {
        return this.secretKey;
    }
    
    public String getType() {
        return this.type;
    }
    
    public String getZone() {
        return this.zone;
    }
    
    public void setId(final Long id) {
        this.id = id;
    }
    
    public void setAccessKey(final String accessKey) {
        this.accessKey = accessKey;
    }
    
    public void setBucket(final String bucket) {
        this.bucket = bucket;
    }
    
    public void setHost(final String host) {
        this.host = host;
    }
    
    public void setSecretKey(final String secretKey) {
        this.secretKey = secretKey;
    }
    
    public void setType(final String type) {
        this.type = type;
    }
    
    public void setZone(final String zone) {
        this.zone = zone;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof QiniuConfig)) {
            return false;
        }
        final QiniuConfig other = (QiniuConfig)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        Label_0065: {
            if (this$id == null) {
                if (other$id == null) {
                    break Label_0065;
                }
            }
            else if (this$id.equals(other$id)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$accessKey = this.getAccessKey();
        final Object other$accessKey = other.getAccessKey();
        Label_0102: {
            if (this$accessKey == null) {
                if (other$accessKey == null) {
                    break Label_0102;
                }
            }
            else if (this$accessKey.equals(other$accessKey)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$bucket = this.getBucket();
        final Object other$bucket = other.getBucket();
        Label_0139: {
            if (this$bucket == null) {
                if (other$bucket == null) {
                    break Label_0139;
                }
            }
            else if (this$bucket.equals(other$bucket)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$host = this.getHost();
        final Object other$host = other.getHost();
        Label_0176: {
            if (this$host == null) {
                if (other$host == null) {
                    break Label_0176;
                }
            }
            else if (this$host.equals(other$host)) {
                break Label_0176;
            }
            return false;
        }
        final Object this$secretKey = this.getSecretKey();
        final Object other$secretKey = other.getSecretKey();
        Label_0213: {
            if (this$secretKey == null) {
                if (other$secretKey == null) {
                    break Label_0213;
                }
            }
            else if (this$secretKey.equals(other$secretKey)) {
                break Label_0213;
            }
            return false;
        }
        final Object this$type = this.getType();
        final Object other$type = other.getType();
        Label_0250: {
            if (this$type == null) {
                if (other$type == null) {
                    break Label_0250;
                }
            }
            else if (this$type.equals(other$type)) {
                break Label_0250;
            }
            return false;
        }
        final Object this$zone = this.getZone();
        final Object other$zone = other.getZone();
        if (this$zone == null) {
            if (other$zone == null) {
                return true;
            }
        }
        else if (this$zone.equals(other$zone)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof QiniuConfig;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = this.getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        final Object $accessKey = this.getAccessKey();
        result = result * 59 + (($accessKey == null) ? 43 : $accessKey.hashCode());
        final Object $bucket = this.getBucket();
        result = result * 59 + (($bucket == null) ? 43 : $bucket.hashCode());
        final Object $host = this.getHost();
        result = result * 59 + (($host == null) ? 43 : $host.hashCode());
        final Object $secretKey = this.getSecretKey();
        result = result * 59 + (($secretKey == null) ? 43 : $secretKey.hashCode());
        final Object $type = this.getType();
        result = result * 59 + (($type == null) ? 43 : $type.hashCode());
        final Object $zone = this.getZone();
        result = result * 59 + (($zone == null) ? 43 : $zone.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "QiniuConfig(id=" + this.getId() + ", accessKey=" + this.getAccessKey() + ", bucket=" + this.getBucket() + ", host=" + this.getHost() + ", secretKey=" + this.getSecretKey() + ", type=" + this.getType() + ", zone=" + this.getZone() + ")";
    }
}
